perm filename COMDE1.MAC[IP,SYS] blob sn#694376 filedate 1983-01-07 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		TITLE COMDEV
C00006 ENDMK
C⊗;
	TITLE COMDEV
;Attempt to get some externals defined
	search f,s
	$reloc
	XP	IMPN,3		;some random values
	XP	ITYN,2
	XP	ARPA.H,1
	XP	ARPA.I,1
	XP	ITYFST,200

	SUBTTL	(110) DEFINITIONS AND ENTRY POINTS FOR IMP

IFN FTCIMP,<				;(110)

IFE IMPN,<		;(110) IF NOT LOADING IMP SERVICE, PROVIDE NO-OPS

IMPUUO::IMPSEC::IMPTIK::IMPDEV::	;(110)
TTIDET::IMPTYP::EQIITO::IMPATT::	;(110)
RQTIIO::RQTITO::XMTQIT::IMPRES::	;(110)
	POPJ	P,			;(110)

	XP	.TNWIL,0		;(110)
	XP	.TNWNT,0		;(110)
	XP	.TOFCH,0		;(110)
	XP	MPIINT,0		;(110)
	XP	MPEINT,0		;(110)
	XP	MPPINT,0		;(110)
	XP	.TNIAC,0		;(110)
	XP	.TNAO,0			;(110)
	XP	TELTAB,0		;(110)

IMPISR::REPEAT	10,<POPJ	P,>	;(110) DUMMY ISR ENTRY POINTS
IMPGTT::0				;(110)
	XP	.ISMXL,0		;(110)

> ;END IFE IMPN				;(110)

	$LOW
IMPRQF::0		;(110) IMP REQUEST FLAG. SET WHEN IMP/TTY PROCESSING
			;(110) IS DESIRED AT CLOCK LEVEL
			;(150) ALSO USED TO SIGNAL REQUEST FOR
			;(150) NON-BLOCKING I/O PROCESSING AT
			;(150) CLOCK LEVEL

	$HIGH
;NETWORK SITE HOST ID, FOR USE IN SEND COMMAND
HSTNAM::HSTNAM

;HOST SITE NUMBER, SO CAN IDENTIFY SELF ;(110)
XP THSITE,<<ARPA.H←↑D16>+ARPA.I>	;(222) THE net/HOST/IMP NUMBER

MYSITE::THSITE				;(222) STORE SITE NUMBER HERE
HDSITE==:<THSITE←8>			;(222) THE HOST NUMBER AS IT
					;(222) APPEARS IN A HEADER

IFG IMPN,<				;(110)
	EXTERN	IMPSER,IMPINT		;(110) INSIST ON IMP SERVICE

IFG ITYN-IMPN+1,<PRINTX ?TOO MANY ITYS FOR AVAILABLE IMPS> ;(110)

XP MIMPN,-IMPN		;(110) FOR COUNTERS AND LOOPS
XP MITYN,-ITYN		;(110)
XP ITYOFS,ITYTAB##-ITYFST ;(110) OFFSET TTYTAB )INDEX BY LINE #)
XP ITIMPL,ITYN←9+IMPN	;(110) FOR HOST FUNCTIONS IN IMPUUO

IFNDEF IMPBFN,<		;(110) NUMBER OF IMP BUFFERS (SLIDING SCALE)
	IFLE	IMPN-8,<XP IMPBFN,↑D14*IMPN> ;(110)
	IFG	IMPN-8,<XP IMPBFN,↑D12*IMPN>  ;(110)
>			;(110)

IFNDEF	IMPBFS,<XP IMPBFS,↑D37> ;(110) SIZE OF EACH BUFFER (MUST BE ODD)

XP IMPB36,↑D<<IMPBFN+35>/36>	;(110) 1/36TH NUMBER OF BUFFERS
XP IMPM36,-IMPB36	;(110) NEGATIVE FOR AOBJN COUNTS
XP IMPB%4,IMPBFN/4	;(110) 1/4TH NUMBER OF BUFFERS
XP MMPBFS,-IMPBFS	;(110) NEGATIVE OF BUFFER SIZE
XP MIMBS1,-IMPBFS+1	;(110)
XP MIMBS2,-IMPBFS+2	;(110)
XP IMPTBS,IMPBFN*IMPBFS	;(110) TOTAL WORDS RESERVED FOR IMP BUFFERS

	$LOW
IMPBFT::BLOCK	IMPB36	;(110)IMP BUFFER ALLOCATION TABLE
IMPBUF::0		;(110) POINTER TO FIRST IMP BUFFER
IMPBFE::0		;(110) POINTER PAST END OF IMP BUFFERS

> ;END IFG IMPN		;(110)
> ;END IF N FTCIMP	;(110)

	END